The exemplary embodiment relates to a system and method for ensuring consistency between a document instance, such as an Extensible Markup Language (XML) document, and validation operations applied to it. It finds particular application in connection with the use of a validation certificate for tracking and maintaining the consistency between an XML document instance and the applied validation operations.
A schema, as referred to herein, defines the internal structure of a document. For example, a schema can describe the structure for how the document should be organized, e.g., sections and sub-sections. Schemas can, of course, be more complex than this simple example and, in general, provide a set of constraints defining the document structure. Many documents are structured according to various standards such as, e.g., technical reports, and schemas help to ensure each document is constructed according to some predefined construction rules. Many schemas exist according to various standards. An XML schema, in particular, is a description of a type of XML document, typically expressed in terms of constraints on the structure and content of documents above and beyond the basic syntax constraints imposed by XML itself.
An XML schema provides a view of the document type at a relatively high level of abstraction. An XML Schema can include, e.g., type definitions and element declarations which can be used to assess the validity of elements and attributes of an XML document. Various languages have been developed to express XML schemas such as the Document Type Definition (DTD) language, which is native to the XML specification. Other schema languages include, e.g., the World Wide Web Consortium (W3C) XML Schema Language (XSD), RelaxNG, Schematron, and NVDL. Each language exhibits particular operational qualities and specific expressive power, justifying their concomitant use in a demanding validation environment. In the context of XML documents, validation normally involves writing a detailed specification for the document's contents in a schema language. XML documents can then be validated by validation engines interpreting the appropriate validation language, and by any of a number of mechanisms, including cascading several validation operations with increasing complexity or addressing heterogeneous properties.
It is readily apparent that the above-described validation processes are becoming increasingly complicated and time consuming, having a high computing cost. However, XML documents are processed through transformation pipes that do not explicitly store or maintain a memory of previous validation operations, either inside or outside of the documents. Thus, as document complexity and volume increases, increasing amounts of computer time are wasted in reasserting document validity by repeating the validation process. However, these validation operations would not require repetitive processing if the results of prior validation operations were available they could be checked by processors provided that this information could be maintained in the processing chain. Presently, however, validation operations are not tracked or kept track of in such a way that a level of certification can be relied upon. Therefore, there exists a need for an improved method of ensuring consistency between an XML document instance and validation operations applied to it, thereby reducing or eliminating unnecessary repetition of validation processing.